package com.snow.dao;

/**
 * @Description:
 * @author: snow
 * @Date: 2020-01-11
 **/
import com.snow.pojo.dto.ArchiveDto;
import com.snow.pojo.dto.cond.ContentCond;
import com.snow.pojo.model.ContentDomain;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ContentDao {
    /**
     * 添加文章
     */
    int addArticle(ContentDomain contentDomain);
    /**
     * 根据id 删除文章
     */
    int deleteArticleById(Integer cid);
    /**
     * 更新文章
     */
    int updateArticleById(ContentDomain contentDomain);
    /**
     *跟新文章评论数
     */
    int updateArticleCommentsById(Integer cid,@Param("commentNum") Integer commentNum);
    /**
     *根据编号获取文章
     */
    ContentDomain getArticle(Integer cid);
    /**
     * 按照查询条件获取文章列表
     * @param contentDomain
     */
    List<ContentDomain> getArticlesByCond(ContentCond contentDomain);
    /**
     * 获取文章总数
     */
    Long getArticleCount();
    /**
     *h获取文章归档数据
     * 查询条件只包括开始时间和结束时间
     */
    List<ArchiveDto> getArchive(ContentCond contentCond);
    /**
     *获取最近文章，只包括title和日期
     */
    List<ContentDomain> getRecentlyArticles();

    /**
     *搜索文章，包括标题或内容匹配
     */
    List<ContentDomain> searchArticle(String param);

    /**
     * 获得最新文章的cid
     * @return
     */
    Integer getNewArticleId();

}
